#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int ret = 1;
	int i = 0;
	int max = 0;
	int tmp = 1;
	for (i = 2; i < n; i++)
	{
		if (n < 3)
		{
			printf("1");
			break;
		}
		else
		{
			max = ret + tmp;
			tmp = max - tmp;
			ret = max;
		}
	}
	printf("%d\n", max);
	return 0;
}



//#include <stdio.h>
//#include <assert.h>
//int Fbnq(int n)
//{
//	if (n < 3)
//	{
//		return 1;
//	}
//	else
//	{
//		return Fbnq(n - 1)+ Fbnq(n - 2);
//	}
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int ret = Fbnq(n);
//	printf("%d\n", ret);
//	return 0;
//}



//#include <stdio.h>
//#include <assert.h>
//int add(int n, int k)
//{
//	assert(n);
//	if (k == 0)
//	{
//		return 1;
//	}
//	else
//	{
//		return n*add(n,k-1);
//	}
//}
//int main()
//{
//	int n = 0;
//	int k = 0;
//	scanf("%d%d", &n, &k);
//	int ret = add(n, k);
//	printf("%d\n", ret);
//	return 0;
//}


//#include <stdio.h>
//int DigitSum(int str)
//{
//	if (str >9)
//	{
//		return  DigitSum(str / 10)+(str%10);
//	}
//	else
//	{
//		return str;
//	}
//}
//int main()
//{
//	int str = 1729;
//	int ret=DigitSum(str);
//	printf("%d\n", ret);
//	return 0;
//}



//#include <stdio.h>
//#include <string.h>
//char* reverse_string(char * string)
//{
//	if (strlen(string)<2)
//	{
//		return string;
//	}
//	int len = strlen(string) - 1;
//	char ch = *string;
//	*string =*(string+len);
//	*(string + len) = '\0';
//	reverse_string(string + 1);
//	*(string+len) = ch;
//	return string;
//}
//int main()
//{
//	char string[10] = "woshishei";
//	printf("%s\n", reverse_string(string));
//	return 0;
//}



//#include <stdio.h>
//int print(char* a)
//{
//	int tmp = 0;
//	while (*a != '\0')
//	{
//		tmp++;
//		a += 1;
//	}
//	return tmp;
//}
//int main()
//{
//	char a[100] = "woshi";
//	int str = print(a);
//	printf("%d\n", str);
//	return 0;
//}



//#include <stdio.h>
//int print(char* a)
//{
//	if (*a == '\0')
//	{
//		return 0;
//	}
//	else
//	{
//		return 1+print(a + 1);
//	}
//}
//int main()
//{
//	char a[100] ="woshi";
//	int str = print(a);
//	printf("%d", str);
//	return 0;
//}



//#include <stdio.h>
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int i = 1;
//	int ret = 1;
//	for (i = 1; i <= n; i++)
//	{
//		ret *= i;
//	}
//	printf("%d", ret);
//	return 0;
//}


//#include <stdio.h>
//int print(int n)
//{
//	if (n == 0 || n == 1)
//		return 1;
//	else
//		return n * print(n - 1);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	printf("%d\n", print(n));
//	return 0;
//}



//#include <stdio.h>
//void add(int n)
//{
//	if (n < 10)
//	{
//		printf("%d ", n);
//	}
//    else if (n>9)
//	{
//		add(n / 10);
//		printf("%d ", n % 10);
//	}
//}
//int main()
//{
//	int n= 0;
//	scanf("%d", &n);
//	add(n);
//	return 0;
//}